<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
         // 解构赋值
        // var arr = [43,56,2,65,32]
        var arr = [43,56]

        // var a = arr[0]
        // var b = arr[1]
        // var c = arr[2]

        // 按顺序解构数组的元素
        // 变量个数少于数组长度，数组后面的元素不参与解构
        // 变量个数大于数组长度，多余的变量就是undefined
        var [a,b,c] = arr
        console.log(a,b,c)

        var obj = {
            username: 'lisi',
            age: 18,
            gender: 'male',
            x: 30,
            z: 10
        }

        // 对象按属性名来解构
        // 大括号里的变量名要在对象里有这个属性才能解构
        //对象内没有得属性名解析为undefined
        var { x,y,z, username} = obj
        console.log(x,y,z)
        console.log(username)

        var id = 3
        var title = '小米'
        var price = 3299

        var shop = {
            id: id,
            title: title,
            price: price
        }
        console.log(shop)
        // 定义对象的时候属性名和属性值写法一样，可以省略键值对，直接写一个就可以了
        var shop2 = {
            id,
            title,
            price
        }
        console.log(shop2)
    </script>
</body>
</html>